Add software renderer implementation - #128
Closed
iProgramMC wants to merge 96 commits into
Closed
Conversation
fix build
Fancy2209
reviewed
May 17, 2026
| @@ -0,0 +1,8 @@ | |||
| #pragma once | |||
|
|
|||
| #define LIKELY(cond) __builtin_expect(!!(cond), 1) | |||
Collaborator
There was a problem hiding this comment.
These should have a windows path and be in common.h
Also is there any reason to have UNUSED when we have MAYBE_UNUSED?
Small things
Fix software only builds after recent makefile change
This allows the software renderer to work correctly on big-endian systems like PowerPC Macs. Note that the framebuffer will be byteswapped from little-endian mode.
This fixes Muffet's teapot in her right hand rotating around the wrong point.
…sourceWidth/Height and targetWidth/Height
… the SDL video mode." This reverts commit 5e43ec9.
…into sw-renderer
Namely, triangles rendered before Undyne's fight were overlapping causing weird double-opacity lines to appear
Un1q32
reviewed
Jul 7, 2026
| LIBS += $(GLFW3_LIBS) | ||
| DEFINES += $(DEFINE)USE_GLFW3 | ||
| ENABLE_GLAD := 1 | ||
| ifdef ENABLE_GLES |
Collaborator
There was a problem hiding this comment.
ENABLE_GLES isn't a thing anymore, remove this
Un1q32
reviewed
Jul 7, 2026
| LIBS += $(GLFW2_LIBS) | ||
| DEFINES += $(DEFINE)USE_GLFW2 | ||
| ENABLE_GLAD := 1 | ||
| ifdef ENABLE_GLES |
…into sw-renderer
This is largely untested, though, so it might have bugs.
Now, Alphys' lab camera feed renders properly regardless of resolution and scale.
This fixes Undyne the Undying's transition cutscene.
cobaltgit
reviewed
Jul 11, 2026
| } | ||
| case BUILTIN_VAR_FPS: | ||
| return RValue_makeReal(ctx->dataWin->gen8.gms2FPS); | ||
| return RValue_makeReal(30.0f /* ctx->dataWin->gen8.gms2FPS */); |
Collaborator
There was a problem hiding this comment.
Wouldn't this break games that don't run at 30fps or something?
This fixes the battle UI and menu in DELTARUNE
This fixes the Queen arcade boxing battle in Deltarune Ch2
This might slow things down significantly, sadly. Maybe I should keep this as a compiler option, or whatever.
…faces Not 100% sure if this works yet though because rory's cone doesn't draw properly
…r confident in this code yet
Contributor
Author
|
Will re-make the PR soon on top of the state of |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Taken from https://github.com/iProgramMC/Butterscotch/tree/sw-renderer-old.
This is nowhere near complete. The only game this can run right now is UNDERTALE, and I know of a thing in UNDERTALE that doesn't work also.